# Tanım: Glasgow Haskell derleyicisi
# URL: http://www.haskell.org/haskellwiki/Glasgow_Haskell_Compiler
# Paketçi: milisarge
# Gerekler: docbook-xsl libedit libffi
# Grup: geliştirme

isim=ghc
surum=8.0.2
devir=1
kaynak=(https://downloads.haskell.org/~ghc/$surum/$isim-$surum-src.tar.xz)

derle() {
	# if ghc is not previously installed bootstrap it
	if [ ! -e /usr/bin/ghc ]; then

		# download binary bootstrap file if it does not exist
		if [ ! -f "$DERLEME_KAYNAKDIZIN/$isim-$surum-x86_64-centos67-linux.tar.xz" ]; then

			wget http://downloads.haskell.org/~ghc/$surum/$isim-$surum-x86_64-centos67-linux.tar.xz \
				--output-document="$DERLEME_KAYNAKDIZIN/$isim-$surum-x86_64-centos67-linux.tar.xz"
		fi

		install -d tmp
		cd tmp

		bsdtar -xf "$DERLEME_KAYNAKDIZIN/$isim-$surum-x86_64-centos67-linux.tar.xz"
		mv $isim-$surum ../$isim-$surum-binary
		cd -
		rmdir tmp

		cd $isim-$surum-binary

		# hack for gmp and ncurses for bootstrap binary ghc
		ln -s /lib/libgmp.so.10 libgmp.so.3
		ln -s /lib/libncurses.so.6 libtinfo.so.5
		export LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH"

		./configure --prefix=$SRC/binary
		make install
		cd $SRC

		export PATH="$SRC/binary/bin:$PATH"
	fi

	cd $isim-$surum

        ./configure \
                --prefix=/usr \
                --docdir=/usr/share/doc/ghc \
                --with-system-libffi \
                --with-ffi-includes=$(pkg-config --variable=includedir libffi)

	make
	make -j1 DESTDIR=$PKG install

	rm -r $PKG/usr/share/doc
}
